Oasis: Concolic Execution Driven by Test Suites and Code Modifications

نویسندگان

  • Olivier Crameri
  • Rekha Bachwani
  • Tim Brecht
  • Ricardo Bianchini
  • Dejan Kostic
  • Willy Zwaenepoel
چکیده

Testing remains an important aspect of checking software correctness. Manually constructed test suites are one option: they typically complete quickly, but they require human involvement in producing test cases, and their coverage may be limited. Recently, symbolic execution and concolic execution have been investigated as alternatives to test suites. These approaches require little manual intervention, and coverage can in theory be complete. However, their running times may be prohibitive for programs with complex control flow and large inputs. The system we present in this report, called Oasis, is a research prototype that attempts to combine the advantages of test suites (speed) and concolic execution (coverage). Oasis leverages any valid inputs to the program, from test suites or past execution logs, to quickly explore the paths covered by these inputs and reach deep program paths. It then uses concolic execution to automatically explore alternative paths. This exploration starts with those paths that derive directly from the executions with valid inputs. When used for regression testing, Oasis prioritizes the exploration of paths and constraints resulting from new or modified code. We study our techniques using two real applications, the wget Web client and the uServer Web server. Our experiments demonstrate that Oasis can quickly reach “deep” program paths (in both old and new code), and that it effectively tests the new code more extensively during regression testing. Using bug injection, we demonstrate that Oasis is able to uncover bugs that regular symbolic or concolic engines may not be able to reach within a given time budget.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Directed Test Generation for Improved Fault Localization

Fault-localization techniques that apply statistical analyses to execution data gathered from multiple tests are quite effective when a large test suite is available. However, if no test suite is available, what is the best approach to generate one? This paper investigates the fault-localization effectiveness of test suites generated according to several test-generation techniques based on comb...

متن کامل

Abstraction-driven Concolic Testing

ion-driven Concolic Testing‹ Przemys law Daca, Ashutosh Gupta, and Thomas A. Henzinger 1 IST Austria, Austria 2 Tata Institute for Fundamental Research, India Abstract. Concolic testing is a promising method for generating test suites for large programs. However, it suffers from the path-explosion problem and often fails to find tests that cover difficult-to-reach parts of programs. In contrast...

متن کامل

Scaling Concolic Execution of Binary Programs for Security Applications

Concolic execution is a technique for program analysis that makes the values of certain inputs symbolic, symbolically executes a program’s code, and computes a symbolic logical formula to represent a desired behavior of the program under analysis. The computed formula is then solved by a decision procedure to determine whether the desired behavior is feasible and, if so, provide an example prog...

متن کامل

LATEST : Lazy Dynamic Test Input Generation

We present lazy expansion, a new algorithm for scalable test input generation using directed concolic execution. Lazy expansion is an instantiation of the counterexample-guided refinement paradigm from static software verification in the context of testing. Our algorithm works in two phases. It first explores, using concolic execution, an abstraction of the function under test by replacing each...

متن کامل

Directed test suite augmentation: an empirical investigation

Test suite augmentation techniques are used in regression testing to identify code elements in a modified program that are not adequately tested and to generate test cases to cover those elements. A defining feature of test suite augmentation techniques is the potential for reusing existing regression test suites. Our preliminary work suggests that several factors influence the efficiency and e...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009